package cn.tedu.oopTestConstructor.cn.tedu;

import java.util.Arrays;

/**
 * @author SWJ
 * @create 2021-06-15 16:20
 * 本类测试String常用方法
 */
public class TestString2 {
    public static void main(String[] args) {
        /**通过高效的方式创建字符串*/
        String s = "abc";
        char[] value = {'a', 'b', 'c', 'd'};
        //准备一个字符数组
        String SS = new String(value);
        //创建方式2,，没有高效的效果

        //测试常用方法
        System.out.println(s.charAt(1));
        //b 获取指定下标处字符的值
        System.out.println(s.concat("cxy"));
        //abccxy 这个方法是瞬发效果
        System.out.println(s);
        String s3 = s.concat("cxy");
        //如果想要继续使用拼接效果，可以交给变量来保存可以多次使用
        System.out.println(s3);

        System.out.println(s.startsWith("a"));
        //true 判断本串是否开头的字符是否为a
        System.out.println(s.endsWith("a"));
        //false判断本串是否结尾的字符是否为a
        System.out.println(s == SS);
        //false,比较的是地址值,一个高效在堆中常量池,一个不是,地址值不同
        System.out.println(s.equals(SS));
        System.out.println(s.length());
        //3表示本串的长度
        String s4 = "abcbc";
        System.out.println(s4.indexOf("b"));
        //1，判断当前字符在本串第一次出现的下标
        System.out.println(s4.lastIndexOf("b"));
        //3，判断当前判断当前字符在本串最后一次出现的下标
        System.out.println(s4.toLowerCase());
        //abcbc把当前串全部转化为小写
        System.out.println(s4.toUpperCase());
        //ABCBC把当前串转化为大写
        System.out.println(s.getBytes());
        //[B@4554617c把指定串转化成字节数组，返回值是byte[]
        System.out.println(Arrays.toString(s.getBytes()));
        //[97,98,99]
        String s5 = "a b c d e ";

        System.out.println(s5.split(""));
        //[Ljava.lang.String;@74a14482
        System.out.println(Arrays.toString(s5.split("")));
        //        [a,  , b,  , c,  , d,  , e,  ]
        //        s5="     abcde       ";
        System.out.println(s5.trim());
        //去除首尾两端的空格abcde
        System.out.println(s5.substring(3));
        //cde 截取子串，从指定下标处开始截取子串
        System.out.println(s5.substring(1,5));
        //bc截取子串 含头不含尾
        System.out.println(String.valueOf(10));
        //10,把int类型转化成String类型
        System.out.println("20"+10);
        //2010,string类型
        System.out.println(String.valueOf(10)+10);
        //1010,int10转成String 10后进行拼接
        System.out.println(10+10);

    }
}
